Voicebot Conversation

The icon for the Voicebot Conversation action.

セルフサービスを統合します仮想エージェント閉じた ライブのヒューマンエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。を音声スクリプトと統合します仮想エージェントはこのアクションをサポートする必要があります。

Voicebot Conversation アクションは、非常に単純なボット、またはSIP閉じた 音声通話やビデオ通話などのマルチメディア通信セッションのシグナリングと制御に使用されるプロトコル。バックチャネル接続を使用している場合にのみ使用します。Studioスクリプトでバーチャルエージェントの動作をターンごとにカスタマイズすることはできません。会話のターン間の仮想エージェントの動作をカスタマイズする必要があり、仮想エージェントプロバイダーがこれに対応している場合は、Voicebot Exchange アクションを使用します。

このアクションは、バーチャルエージェントと直接インタラクトして、リアルタイムで受動的に会話を監視します。仮想エージェントは、継続的なオーディオストリームから会話の意図閉じた 連絡先の発言/入力する内容の背後にある意味または目的。連絡先が伝えたいこと、または達成したいこと。と文脈を分析します。その後、コンタクトに対して適切な応答を返します。仮想エージェントが会話の終了を示すと、アクションはStudioスクリプトを続行します。アクションは、スクリーンポップ閉じた 対話の終了後にエージェントが作業要件を完了できるようにする状態、エージェントのルーティングなどの関連情報を渡します。

このアクションは、Google Dialogflow ESでの使用は推奨されません。また、SIPバックチャネル接続を使用していない限り、Google Dialogflow CXでの使用は推奨されません。

このアクションをダブルクリックするとバーチャルエージェントハブが開き、ここですべての仮想エージェントを管理できます。

Supported Script Types

The icon for the Phone script type - an old-style phone handset with curved lines indicating sound coming out of it.

電話

Comparison of Similar Actions

以下のアクションには同様の機能がありますが、いくつかの重要な相違点があります。

  • Textbot Conversation: This action is only suitable for very simple virtual agents.It doesn't allow for customization of the virtual agent's behavior from turn to turn.It's not currently supported in CXone.
  • Textbot Exchange:このactionは、より複雑なバーチャルエージェントのインタラクションに使用されます。これにより、交換パラメーターを含め、コンタクトと仮想エージェント間の会話のさまざまな側面をカスタマイズできます。
  • Voicebot Conversation:このactionは、非常にシンプルなバーチャルエージェントにのみ適しています。ターンごとの仮想エージェントの行動をカスタマイズすることはできません。SIPバックチャネル接続を使用する場合でバーチャルエージェントでサポートされている場合、Voicebot Conversationを使用する必要があります。
  • Voicebot Exchange:このactionは、より複雑なバーチャルエージェントのインタラクションに使用されます。これにより、交換パラメーターを含め、コンタクトと仮想エージェント間の会話のさまざまな側面をカスタマイズできます。

Supported Virtual Agents

このアクションは、次の仮想エージェントをサポートします。

このアクションに仮想エージェントを割り当てる前に、バーチャルエージェントハブで仮想エージェントにアプリを追加して構成する必要があります。各仮想エージェントに必要なアプリは1つだけです。スクリプト内の複数の仮想エージェントアクションに同じアプリを割り当てることができます。構成の詳細については、使用しているバーチャルエージェントプロバイダーのヘルプページを参照してください。

Input Properties

これらのプロパティは、アクションが実行時に使用するデータを定義します。

プロパティ

説明

virtualAgentID

バーチャルエージェントハブで選択された仮想エージェントの名前。バーチャルエージェントハブStudioアクションに仮想エージェントアプリを割り当てると、このプロパティが自動的に設定されます。名前は、バーチャルエージェントハブアプリのVirtual Agent (Bot) Nameフィールドで使用される名前です。

customPayload

このプロパティは、カスタムペイロードデータを仮想エージェントに渡す必要がある場合にのみ設定します。カスタムペイロードオブジェクトはStudioスクリプトから設定されます。これを使用して、ウェルカムメッセージで使用されるCRM閉じた 連絡先、販売情報、サポートの詳細、ケース履歴などを管理するサードパーティのシステム。からの連絡先の名前などの情報を渡すことができます。

スクリプトから仮想エージェントにデータを渡すJSONオブジェクトの名前を入力します。Snippetアクションでカスタムペイロードオブジェクトを定義する必要があります。オブジェクトはスニペットまたはcustomPayloadプロパティのいずれかでJSONに変換する必要があります。

特定の仮想エージェントプロバイダーの要件:

仮想エージェントがスクリプトに返すデータを処理する必要がある場合は、このプロパティを使用しないでください。代わりにcustomPayloadVarName (out)変数を使用します。

maxTimeouts

エラーフォールバックブランチにルーティングする前の無発話交換の数を設定します。

maxNotUnderstood

エラーフォールバックブランチにルーティングする前に失敗したインテント認識交換の数を設定します。

Output Properties

これらのプロパティには、実行したアクションから返されたデータを保持する変数が含まれています。これらはアクションが完了したときに参照・使用することができます。

プロパティ

説明

customPayloadVarName (out)

仮想エージェントからスクリプトにカスタムJSONデータを返します。仮想エージェントが提供するデータをスクリプトで処理する場合は、この変数を使用します。フルフィルメントデータが含まれる場合があります。

仮想エージェントにデータを提供する場合は、customPayloadプロパティを使用します。

errorDetailsVarName (out)

エラーインテントシーケンスを要求します。ライブエージェントへの転送につながる可能性があります。

intentInfoVarName (out)

現在のユーザーの意図を示す仮想エージェントからの詳細を保持する変数。

Result Branch Conditions

結果の分岐条件を使用すると、アクションが実行されたときにさまざまな結果を処理できるように、スクリプトにブランチを作成できます。

状態

説明

OnBotSessionComplete

仮想エージェントが会話が終了したことを示したときに取られるパス。

If you're using a SIP backchannel connection and want the virtual agent to be able to pass the contact back to the script to talk to a live agent, you must include the Live Agent Handoff snippet in your script.

OnError 予期しない問題(たとえば、接続不良、構文エラーなど)が発生したときに使用されるパス。_ERR変数には、問題の簡潔な説明を入力する必要があります。
OnDTMFBreakout

次の場合にたどるパス DTMF閉じた ユーザーが電話のキーパッドのキーを押すかタップしたときに生成される信号音。スクリプトのルールが満たされました。

OnUserInputTimeout

プロンプト行動スニペット(デフォルトまたはのプロンプト行動スニペット)で指定された時間内にユーザーからの応答がない場合に取られるパス。

GoogleDialogflowの場合は、バーチャルエージェントハブ Dialogflowアプリで発生させたいイベントを設定します。Dialogflow ESの場合は、Timeout Event フィールドを設定します。Dialogflow CXの場合、Timeout Event Handlerを設定します。イベントが設定されていない場合、デフォルトでは、Dialogflowコンソールで設定されたデフォルトのフォールバックインテントが使用されます。

必要であれば、スクリプト内の異なるポイントで異なるイベントを使用するように、このブランチを設定することができます。

OnUserInputNotUnderstood

バーチャルエージェントが相手の応答を理解できないとき、または相手がタイムアウトしたときに取られるパス。

Snippet Action Code

このアクションのプロパティの中には、Snippetactionに次のカスタムコードを必要とするものが1つ以上あります。

Best Practices for Custom Payload with Google Dialogflow CX

When using this action with Google Dialogflow CX. follow these best practices for integrating custom payloads:

  • DialogflowCXは、DialogflowESのようにデータをDialogflowインテント閉じた 連絡先の発言/入力する内容の背後にある意味または目的。連絡先が伝えたいこと、または達成したいこと。に渡すためにコンテキストを使用しません。
  • カスタムデータはJSONキー値ペアを使用してDialogflow CXに渡すことができます。スクリプト内のSnippetactionアクションで、ダイナミックcustomPayloadオブジェクトを作成して、それにキー値ペアを追加します。たとえば。

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • スクリプトのExchangeまたはConversationアクションで、値asJSON()関数を持つ変数でcustomPayloadプロパティを構成します。この変数はcustomPayloadオブジェクトにあります。
  • QueryParametersPayloadプロパティを使用して、customPayloadJSONをバーチャルエージェントに渡します。Google Dialogflow CX用のQueryParameters中央から右上隅の外側方向に向いた矢印を持つ正方形。に関するGoogleのドキュメンテーションを参照してください。
  • QueryParametersによってパスされるデータはDialogflowCXのwebhookが受け取ります。パスされるデータを処理するために、Dialogflow CXコンソールでコードとを作成することができます。
  • customPayloadオブジェクトの中にオブジェクトをネストしないでください。ネストされたオブジェクトはリテラル文字列として送信されます。
  • DialogflowCXバーチャルエージェントからスクリプトにカスタムデータを渡すには、DialogflowCXコンソールのカスタムペイロードフィールドを使用します。CXoneで使用している仮想エージェントのコンソールにいることを確認してください。スクリプトの音声またはチャットStudioアクションでcustomPayloadVarName (out)変数を使用して、これをスクリプトにマッピングします。たとえば、これを使用して次のプロンプトの動作を設定できます。
  • customPayloadを使用して設定されたパラメーターは、外部Webhookでのみ使用できます。外部Webhookの外部で使用するパラメーターを設定する場合は、session_paramsフィールドを持つSnippetアクションにそれらを設定します。たとえば。

    {
    	"session_params":
    	{ 
    		"name": "Winnie Le Pooh"
    		"job": "Food critic"
    		"location": "Hundred Acre Wood"
    	}
    }

    次の構文を使用して、DialogflowCXエージェントインテントのセッションパラメタにアクセスします。

    $session.params.name = Winnie Le Pooh

    $session.params.job = Food critic

    $session.params.location = 100 Acre Wood

    セッションパラメーターは、DialogflowCXバーチャルエージェントでのみ使用されます。DialogflowESボットで同様の結果を得るには、コンテキストを使用します。

  • スピーチコンテキストのヒントは、speechContextsパラメーターにカスタムペイロードで渡すことができます。speechContexts.phrases の値は、提供したいヒントのGoogleクラストークン中央から右上に矢印が向いている正方形。でなければなりません。このトークンは、コンタクトの言語およびロケールと一致している必要があります。たとえば。

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		

Best Practices for Custom Payload with Google Dialogflow ES

When using this action with Google Dialogflow ES, follow these best practices for integrating custom payloads:

  • CustomPayloadインテント閉じた 連絡先の発言/入力する内容の背後にある意味または目的。連絡先が伝えたいこと、または達成したいこと。のためにコンテキストを渡すために使用します。コンテキストはバーチャルエージェントがユーザーのインテントを理解するために役立ちます。コンテキストは必須ではありませんが、バーチャルエージェントが発話閉じた 連絡先が言うことまたはタイプすること。をインテントに一致させるために役立ちます。
  • スクリプトのSnippet アクションで、RESTリソース用のGoogle Dialogflow ESドキュメンテーションリンク先が外部ウェブサイトであることを示すアイコンで概説されている形式に従うcustomPayloadオブジェクトを作成します: projects.agent.sessions.contextStudioオンラインヘルプには、ダナミックデータ変数およびオブジェクトに関する詳細情報が用意されています。
  • また、コンテンツなしのcustomPayloadでカスタムデータを渡すことができます。そのためには、標準JSONキー値ペアをダイナミックデータオブジェクトに含めるようにします。
  • 音声コンテキストは、speech_contactパラメーターのカスタムペイロードで渡されます。このパラメーターの内容は、Studioのトレースやアプリケーションログで確認できます。
  • スクリプト例に示すように、customPayloadDYNAMICオブジェクトはJSONのバーチャルエージェントパラメーターとして渡されます。
  • スピーチコンテキストのヒントは、speechContextsパラメーターにカスタムペイロードで渡すことができます。speechContexts.phrases の値は、提供したいヒントのGoogleクラストークン中央から右上に矢印が向いている正方形。でなければなりません。このトークンは、コンタクトの言語およびロケールと一致している必要があります。たとえば。

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		

Script Example

この例は完全なスクリプトではありません。このアクションを使用するには、追加のスクリプト作業が必要です。

A script example showing the Voicebot Conversation action.

Download this script.

Script Example CustomPayload with Google Dialogflow ES

この例は完全なスクリプトではありません。このアクションを使用するには、追加のスクリプト作業が必要です。

このスクリプトは、Google Dialogflow ESバーチャルエージェントとカスタムペイロードを統合する方法の例です。このスクリプトはVoicebot Exchangeアクションを使用していますが、代わりにTEXTBOT EXCHaNGEを使用しても動作します。

Google Dialogflow CXでカスタムペイロードを処理する方法を示すスクリプト例。

このスクリプトをダウンロード

Example Script for Alternate Timeout Events

スクリプト内の異なるポイントで、異なるタイムアウトイベントの使用が可能です。たとえば、UserInputTimeout プロパティがトリガーされた1回目と2回目で、異なるタイムアウトイベントを使用したい場合があるとします。このスクリプトの例では、これを実現するための一つの可能な方法を示しています。

このスクリプトでは、Snippet アクションを使用して、タイムアウトカウンターを作成およびインクリメントします。2回目のタイムアウト後、Snippet アクションを使用して、別のタイムアウトイベントを設定します。代替のタイムアウトイベントは、automatedIntent プロパティを介してSnippet アクションからボイスボットアクションに渡されます。

このスクリプトをダウンロード